package cn.catsdad.repository;

import cn.catsdad.base.repository.api.IBaseCrudRepository;
import cn.catsdad.dto.UserDTO;

import java.util.List;

/**
 * 用户repository
 *
 * @author xuyonglong
 * @version V1.0 2023/4/10
 */
public interface UserRepository extends IBaseCrudRepository<UserDTO, Long> {

    /**
     * 根据登录名查询用户
     *
     * @param loginName 系统登录名
     * @return 用户
     */
    List<UserDTO> findByLoginName(String loginName);

    /**
     * 用户名唯一性验证
     *
     * @param loginName 登录名
     * @param id        id
     * @return 数据条数
     */
    Integer countByLoginNameAndIdNotAndIsDeletedFalse(String loginName, Long id);

    /**
     * 根据id统计
     *
     * @param id id
     * @return 数量
     */
    int countByIdAndIsDeletedFalse(Long id);
}
